Skip to main content

Tartalom

[Mi az a kriptográfiai hash? 1](#mi-az-a-kriptográfiai-hash)

[A hash algoritmusok 1](#a-hash-algoritmusok)

[Miért fontosak a hash-ek? 2](#miért-fontosak-a-hash-ek)

[Blokklánc felhasználás 2](#blokklánc-felhasználás)

Mi az a kriptográfiai hash?

A kriptográfiai hash egy betűk és számok kombinációjából álló egyedi titkosító kód, amely a számítástechnikában gyakorlatilag az ujjlenyomat megfelelője. Függetlenül az input típusától vagy méretétől, bármihez lehet hash-t rendelni, amely – a kódoláshoz használt algoritmustól függően – minden esetben ugyanolyan hosszúságú lesz.

Az alább példa a „hello” szó SHA-256 algoritmussal titkosítva:

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Ha például egy regényhez szeretnénk hash-t rendelni, az SHA-256-tal szintén ugyanilyen karakterszámú hasht-t generálna.

A hash algoritmusok

A hash algoritmusok olyan programok, amelyek bármilyen informatika adatot hash formájában titkosítani tudnak.

Nézzük, mik a legközkedveltebb hash algoritmusok:

MD5 (Message Digest 5): Az MD5 egykor rendkívül népszerű volt például digitális aláírások és jelszavak hash-elésére. Annak ellenére, hogy még mindig sokkal gyorsabb megoldás, mint az újabb SHA-3 vagy SHA-256 algoritmusok, mára már elavultnak számít, mivel kompromittálható. Az MD5 hash 128 bit hosszú (16 byte), amely hexadecimális ábrázolásban 32 karakterből áll.

SHA-3 (Secure Hash Algorithm 3): A SHA-3 az MD5-nél már biztonságosabb megoldás, amely a korábbi SHA algoritmusok „gyengeségeit” hivatott kiküszöbölni. Legnagyobb előnye, hogy több kimeneti karakterszámot is támogat, így az 56, a 64, a 96 és a 128 bit-et is.

SHA-256 (Secure Hash Algorithm 256): A SHA-256 bármilyen bemenetet 256 bites, vagyis 64 karakter hosszú hash-é alakít át. Ezt az algoritmust széles körben használják a blokklánc-technológiában, például a Bitcoin is a SHA-256-tal biztosítja a tranzakciókat és blokkokat.

A hash hossza alapvetően a biztonsági szintet határozza mag. Ugyan minél több bit-ből, azaz karakterből áll egy hash, annál nehezebb azt generálni, viszont ugyancsak sokkal nehezebb azt visszafejteni és sokkal inkább ellenáll a felfejtést célzó kibertámadásoknak.

Miért fontosak a hash-ek?

A hash-eknek van néhány "szuperképessége", ami nélkülözhetetlenné teszi őket a blokkláncon tárolt adatok biztonságának szempontjából:

  • Egyirányúak: Bármilyen adathoz könnyű hash-t rendelni, viszont a hash-ből az adatot már szinte lehetetlen visszafejteni.

  • Ütközésállóak: Két különböző adat a gyakorlatban soha nem kaphatja meg ugyanazt a hash-t. Minél több bit-et generáló algoritmust használunk, az ütközésállóság annál nagyobb lesz.

  • Gyorsan generálhatóak: Hash-t gyakorlatilag azonnal hozzá lehet rendelni bármilyen adathoz.

  • Érzékenyek a változásokra: Bármilyen apró módosítás is történik az inputban, az teljesen más hash fog eredményezni.

Blokklánc felhasználás

Mivel a blokklánc egyik alapköve a titkosítás, ezért a hash algoritmusok, és így a hash-ek is rendkívül fontosak a rendszer működése szempontjából. Ezek az algoritmusok felelősek többek között a tranzakciók és a blokkok hash-jeinek a generálásáért, azaz titkosításáért.

A láncot alkotó blokkokat is hash-ek kötik össze. Ha valaki megpróbálná megváltoztatni az egyik blokk adatait, akkor az a blokk új hash értéket kapna, de mivel a következő blokk az eredeti hash-t tartalmazza, az eltérés azonnal látható lenne és ez az inkonzisztencia minden validáló node számára jelezné, hogy manipuláció történt.

Végeredményben elmondható, hogy a kriptográfiai hash egy rendkívül erős adattitkosítási eszköz, amely a biztonság érdekében egyedi „ujjlenyomatokat” rendel az adatokhoz. A blokkláncon továbbá a hash képezi a ragasztóanyagot, amely összeköti a blokkokat egymással és megvédi az információt a manipulációtól.

Ugyan a hash-generálás a blokklánc használata közben nem szembetűnő, mégis a háttérben ez az eljárás is biztosítja a blokklánc biztonságát és átláthatóságát.